# How to Request a Feature for Graphify: A Complete Contribution Guide

> Learn how to request a feature for Graphify. Follow our guide to submit clear, actionable feature requests on GitHub and help improve the project.

- Repository: [Graphify Labs/graphify](https://github.com/Graphify-Labs/graphify)
- Tags: how-to-guide
- Published: 2026-07-19

---

**To request a feature for Graphify, open a GitHub Issue using the "Feature request" template, describe the problem and your proposed solution, apply the `enhancement` label, and reference specific source files like [`graphify/skill-codex.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-codex.md) or [`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py) to demonstrate architectural context.**

Graphify is an open-source graph-building toolkit maintained by Graphify-Labs. Understanding how to request a feature for Graphify ensures your proposal aligns with the project's architecture and receives timely review from maintainers. The repository explicitly encourages community contributions through its structured issue workflow, as documented in the "What to contribute" section of [`README.md`](https://github.com/Graphify-Labs/graphify/blob/main/README.md) (line ≈ 833).

## Step-by-Step Guide to Submitting a Feature Request

### 1. Open a GitHub Issue

Navigate to the [Graphify Issues page](https://github.com/Graphify-Labs/graphify/issues) and click **New issue**. This initiates the formal proposal process and creates a public record for community discussion.

### 2. Select the Feature Request Template

Choose the **"Feature request"** template from the available options. This template pre-populates the issue with sections requiring a clear title, concise description, use-case scenarios, and relevant code snippets, ensuring you provide consistent information.

### 3. Describe the Problem and Solution

Explain **why** the feature is needed, **what** problem it solves, and **how** you envision the implementation working within Graphify’s architecture. Specify whether the feature should function as a new skill, a CLI flag, or an extension to the graph-building pipeline.

### 4. Reference Key Source Files

Include references to existing components that your feature will interact with. For skill-related proposals, point to [`graphify/skill-codex.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-codex.md) or [`graphify/skill-amp.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-amp.md) to show how the new capability fits into the skill registration system. For detection logic modifications, reference [`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py).

### 5. Label and Submit

Apply the **enhancement** (or **feature**) label so maintainers can triage the issue correctly. After submission, be prepared to answer follow-up questions from maintainers or other contributors. If the feature gains traction, you may be invited to submit a Pull Request implementing the changes.

## Code Examples to Include in Your Request

Providing concrete implementation sketches helps maintainers evaluate technical feasibility. Include code blocks that demonstrate intended usage patterns.

### Proposing a New Skill

If your feature adds a new skill to the system, provide a sample skill definition file:

```markdown

# graphify/skill-myfeature.md

# Register a new skill that extracts custom annotations

name: myfeature
description: |
  Handles `# MYFEATURE:` comments and links them to the nearest function definition.

commands:
  - /myfeature .

```

Explain that the new skill will be auto-loaded by `graphify install` and can be invoked via `/myfeature .` within the CLI.

### CLI Flag Prototype

For command-line enhancements, specify the proposed syntax and behavior:

```bash

# Proposed CLI usage

graphify run --my-feature

```

Describe how this flag would enable a new detector in [`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py) or modify the graph-building pipeline.

### API Extension

If the feature extends the Python API, provide a function signature example:

```python

# In graphify/api.py

def enable_my_feature(graph: Graph) -> Graph:
    """Activates the MyFeature transformer on the supplied graph."""
    # implementation details …

    return graph

```

This demonstrates how developers could programmatically invoke the feature from their own scripts.

## Critical Source Files to Reference

Supporting your request with references to specific source files demonstrates technical due diligence:

- **[`README.md`](https://github.com/Graphify-Labs/graphify/blob/main/README.md)** – Contains the "What to contribute" guidance (line ≈ 833) and links to the issue tracker
- **[`graphify/skill-codex.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-codex.md)** – Example of an existing skill definition, useful as a template for new skills
- **[`graphify/skill-amp.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-amp.md)** – Demonstrates how skills wire into the CLI through `graphify install`
- **[`.github/ISSUE_TEMPLATE/feature_request.md`](https://github.com/Graphify-Labs/graphify/blob/main/.github/ISSUE_TEMPLATE/feature_request.md)** – The official template structuring feature requests
- **[`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py)** – Core detection logic, often the target of new feature integrations

## Summary

- **Open a GitHub Issue** using the dedicated feature request template
- **Describe the use case** and proposed implementation architecture clearly
- **Label the issue** with `enhancement` for proper triage
- **Reference source files** like [`graphify/skill-codex.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-codex.md) or [`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py) to show architectural fit
- **Provide code examples** illustrating the intended usage pattern
- **Engage in discussion** to refine the proposal with maintainer feedback

## Frequently Asked Questions

### How do I know if my feature aligns with Graphify's roadmap?

Review the existing issues and [`README.md`](https://github.com/Graphify-Labs/graphify/blob/main/README.md) to understand current priorities. Features that extend the skill system or enhance the detection pipeline in [`graphify/detect.py`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/detect.py) typically align well with the project's architecture. If uncertain, open a discussion issue before submitting a formal feature request.

### What makes a feature request more likely to be accepted?

Requests that include concrete use cases, reference specific source files like [`graphify/skill-amp.md`](https://github.com/Graphify-Labs/graphify/blob/main/graphify/skill-amp.md), and provide working code prototypes receive priority. Demonstrating that you understand how the feature integrates with `graphify install` or the CLI parser shows technical readiness and reduces implementation burden on maintainers.

### Can I implement the feature myself after requesting it?

Yes. The Graphify-Labs team explicitly encourages contributors to move from issue to implementation. After submitting your request and receiving maintainer feedback, you can fork the repository and submit a Pull Request referencing the original issue. Include tests that verify integration with existing components like the skill loader or detection engine.

### Where do I find the official feature request template?

The template resides in [`.github/ISSUE_TEMPLATE/feature_request.md`](https://github.com/Graphify-Labs/graphify/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) within the repository. When you click "New issue" on GitHub, the interface automatically presents this template. If the template does not appear, manually structure your issue to match the sections found in that file: clear title, description, use cases, and proposed implementation details.