Skip to content
Back to skills

GEO INFER REQ

ASecurity

Requirements engineering and traceability for geospatial projects. Use when managing project requirements, building traceability matrices, analyzing dependency graphs and critical paths, or validating requirement consistency, conflicts, and feasibility.

  • 17 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 1, 2026
businesspythongonodebackendperformance

Security analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add ActiveInferenceInstitute/GEO-INFER --skill GEO-INFER-REQ --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of GEO INFER REQ?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for GEO INFER REQ
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/activeinferenceinstitute-geo-infer-req/badge)](https://www.skillsdirectory.com/skills/activeinferenceinstitute-geo-infer-req)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: geo-infer-req
description: Requirements engineering and traceability for geospatial projects. Use when managing project requirements, building traceability matrices, analyzing dependency graphs and critical paths, or validating requirement consistency, conflicts, and feasibility.
prerequisites:
  required: []
  recommended: []
difficulty: beginner
estimated_time: 30min
examples_dir: ../GEO-INFER-EXAMPLES/examples/
---

# GEO-INFER-REQ

## Instructions

### Core Capabilities

- **Requirements analysis**: dependency graphs, topological ordering, cycle detection, critical path
- **Priority scoring**: weighted composite scores (priority level, dependents, stakeholders, effort)
- **Completeness checks**: descriptions, acceptance criteria, dangling dependencies, type coverage
- **Traceability**: trace links, coverage reports, change impact analysis
- **Validation**: consistency checks, conflict detection, feasibility assessment

Pure-stdlib implementation (dataclasses + enums); no third-party runtime dependencies.

### Key Imports

```python
from geo_infer_req import (
    RequirementsAnalyzer, Requirement, RequirementType,
    RequirementStatus, PriorityLevel, DependencyGraph, CompletenessReport,
    TraceabilityManager, TraceLink, ArtifactType, TraceMatrixEntry,
    CoverageReport, ImpactReport,
    RequirementValidator, RequirementSpec, ValidationIssue,
    ValidationSeverity, ConflictType, ConflictDetectionResult,
    ConsistencyReport, FeasibilityAssessment,
)
```

## Examples

### Requirements analysis

```python
from geo_infer_req import RequirementsAnalyzer, Requirement, RequirementType, PriorityLevel

analyzer = RequirementsAnalyzer()
analyzer.add_requirements([
    Requirement("R001", "H3 indexing",
                "The system shall support H3 v4 cell indexing",
                RequirementType.FUNCTIONAL, PriorityLevel.HIGH),
    Requirement("R002", "Query latency",
                "Spatial queries shall return within 200 ms at p95",
                RequirementType.PERFORMANCE,
                dependencies=["R001"]),
])

graph = analyzer.build_dependency_graph()
graph.topological_order   # ['R001', 'R002']
graph.critical_path       # ['R001', 'R002']
graph.cycles              # [] (cycles are reported as closed node loops)

scores = analyzer.compute_priority_scores()   # {req_id: composite score}
report = analyzer.check_completeness()        # missing descriptions/criteria, orphans
```

### Traceability

```python
from geo_infer_req import TraceabilityManager, TraceLink, ArtifactType

tm = TraceabilityManager()
tm.register_requirement("R001")
tm.add_trace_link(TraceLink("R001", "test_h3_backend.py", ArtifactType.TEST_CASE))
tm.verify_link("R001", "test_h3_backend.py")      # True; marks the link verified

coverage = tm.analyze_coverage()                  # coverage_ratio, untraced, by type
impact = tm.analyze_impact("R001")                # affected requirements + artifacts
```

### Validation

```python
from geo_infer_req import RequirementValidator, RequirementSpec

validator = RequirementValidator()
validator.add_spec(RequirementSpec(
    "R001", "H3 indexing", "The system shall support H3 v4 cell indexing",
    priority=4, effort_estimate=10.0,
    tags=["spatial"], resources_required=["backend_dev"],
))
validator.set_resource_capacity({"backend_dev": 12.0})  # person-days

consistency = validator.check_consistency()  # errors / warnings / info items
conflicts = validator.detect_conflicts()     # overlapping constraints, resource conflicts
feasibility = validator.assess_feasibility(available_effort=20.0)
```

## Guidelines

- `find_dependency_cycles` in `geo_infer_req.core.validation` is the single
  canonical cycle detector; `DependencyGraph.cycles` and
  `ConsistencyReport` both report through it.
- Cycle errors never block loading — inspect `graph.cycles` and break the
  reported back-edge.

### Integrations

No cross-module imports are implemented; the module is self-contained
(Governance category). Integrations with NORMS/SEC/SPACE would be new work.

- Test: `uv run python GEO-INFER-TEST/run_unified_tests.py --module REQ`

Files in this skill

  • AGENTS.md1.3 KB
  • README.md856 B
  • SKILL.md1.7 KB
  • docs/AGENTS.md1.1 KB
  • docs/README.md696 B
  • docs/api_schema.yaml15.3 KB
  • examples/AGENTS.md1.2 KB
  • examples/README.md701 B
  • examples/basic_requirements_example.py4.3 KB
  • pyproject.toml3.1 KB
  • requirements.txt45 B
  • setup.py1.4 KB
  • src/AGENTS.md1.1 KB
  • src/README.md693 B
  • src/geo_infer_req/AGENTS.md1.2 KB
  • src/geo_infer_req/README.md756 B
  • src/geo_infer_req/__init__.py1.1 KB
  • src/geo_infer_req/api/AGENTS.md1.1 KB
  • src/geo_infer_req/api/README.md708 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.