Skip to content
Back to skills

Begin Session

ASecurity

Start development session with diagnostics, context loading, and intelligent task menu

  • 18 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 1, 2026
developmentjavascripttypescriptpythongojavarubyphpc#bashgit

Works with

  • cli

Security analysis

A100/100

Scanned June 1, 2026

npx -y skills add majiayu000/claude-skill-registry-data --skill begin-session --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Begin Session?

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

Security grade badge for Begin Session
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-begin-session/badge)](https://www.skillsdirectory.com/skills/majiayu000-begin-session)

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

SKILL.md
---
name: begin-session
version: 1.0.0
description: Start development session with diagnostics, context loading, and intelligent task menu
tags: [workflow, session, diagnostics, planning]
inputs: ./input.schema.json
outputs: ./output.schema.json
allowedPaths:
  read:
    - "./**"
    - "docs/**"
    - ".git/**"
  write:
    - "logs/**"
    - ".skillkit/**"
allowedCommands:
  - git
steps:
  - Load session context from tracking docs and git
  - Run diagnostics using framework adapter
  - Analyze codebase state
  - Present intelligent task menu
  - Return recommendations based on diagnostic data
retries: 0
dryRunSupported: true
dependencies: []
---

# BEGIN SESSION - Development Session Entry Point

**Purpose:** Single command to start any development session with full context and intelligent recommendations.

## What This Workflow Does

1. **Loads Context** (60s)
   - Read today's AI tracking documents
   - Check sprint status
   - Review recent git commits
   - Find unfinished work

2. **Runs Diagnostics** (2min)
   - Lint errors (via framework adapter)
   - Type errors (via framework adapter)
   - TODO/FIXME/HACK count (via framework adapter)
   - Circular dependencies (via framework adapter)
   - Build status (via framework adapter)

3. **Analyzes State** (30s)
   - Identify problem areas
   - Find incomplete features
   - Check for security issues

4. **Presents Task Menu**
   - Data-driven task recommendations
   - Clear options with priorities
   - Contextual suggestions

5. **Routes to Workflow**
   - Based on user choice
   - Passes diagnostic context to next workflow

---

## Input Schema

```json
{
  "projectRoot": "path/to/project",
  "trackingDocs": ["docs/AITracking/**", "docs/SprintStatus/**"],
  "userPreferences": {
    "showGitLog": true,
    "showDiagnostics": true,
    "autoRecommend": true
  }
}
```

---

## Output Schema

```json
{
  "diagnostics": {
    "lintErrors": 0,
    "typeErrors": 0,
    "todoCount": 0,
    "circularDeps": 0,
    "buildStatus": "pass|fail"
  },
  "context": {
    "todaysWork": ["list of files"],
    "recentCommits": ["commit messages"],
    "unfinishedWork": ["incomplete items"]
  },
  "recommendations": [
    {
      "task": "implement-feature",
      "priority": "high",
      "reason": "Low error count, ready for development"
    }
  ],
  "menu": {
    "development": [...],
    "fixing": [...],
    "quality": [...],
    "planning": [...]
  }
}
```

---

## Execution Steps (Framework-Agnostic)

### Step 1: Load Context

**Read tracking documents:**
```typescript
// Get today's date
const today = new Date().toLocaleDateString('en-GB').replace(/\//g, '-'); // DD-MM-YYYY

// Read AI tracking
const trackingFiles = await glob(`docs/AITracking/AIAction_${today}_*.md`);
const todaysWork = await Promise.all(trackingFiles.map(f => readFile(f)));

// Read sprint status
const sprintStatus = await readFile(`docs/SprintStatus/Sprint Status-${today}.md`);

// Get recent git commits
const recentCommits = await git.log({ since: '8 hours ago', maxCount: 10 });

// Find unfinished work
const auditFiles = await glob(`docs/audit/**/*${today}*`);
```

### Step 2: Run Diagnostics (Using Framework Adapter)

**Detect project type and run appropriate commands:**
```typescript
// Detect framework adapter
const adapter = await adapterRegistry.detect(projectRoot);
if (!adapter) {
  throw new Error('No framework adapter detected');
}

// Run diagnostics via adapter
const lintResult = await adapter.lint();
const typeCheckResult = await adapter.typeCheck();
const buildResult = await adapter.build();

// Find TODOs via adapter
const todos = await adapter.findTodos();

// Find circular dependencies (if supported)
const circularDeps = adapter.findCircularDeps 
  ? await adapter.findCircularDeps()
  : [];

// Compile diagnostics
const diagnostics = {
  lintErrors: countErrors(lintResult.stderr),
  typeErrors: countErrors(typeCheckResult.stderr),
  todoCount: todos.length,
  circularDeps: circularDeps.length,
  buildStatus: buildResult.success ? 'pass' : 'fail'
};
```

### Step 3: Analyze State

**Identify problem areas:**
```typescript
// Parse errors to find problem files
const problemAreas = analyzeDiagnostics(diagnostics);

// Find incomplete features (files with TODO/INCOMPLETE)
const incompleteFeatures = todos.filter(t => 
  t.includes('TODO') || t.includes('INCOMPLETE') || t.includes('FIXME')
);

// Check for high-priority security issues (if auditing available)
const securityIssues = await checkSecurityIssues();
```

### Step 4: Present Task Menu

**Generate menu based on diagnostics:**
```typescript
const menu = {
  development: [
    {
      id: 1,
      name: 'Implement Feature',
      workflow: 'implement-feature',
      condition: diagnostics.lintErrors < 50,
      description: 'Start new feature or resume incomplete feature'
    },
    {
      id: 2,
      name: 'Resume Work',
      workflow: 'continue',
      condition: unfinishedWork.length > 0,
      description: 'Continue from where you left off'
    }
  ],
  fixing: [
    {
      id: 3,
      name: 'Fix Errors',
      workflow: 'fix-all',
      condition: diagnostics.lintErrors > 0 || diagnostics.typeErrors > 0,
      priority: diagnostics.lintErrors > 50 ? 'critical' : 'medium',
      description: `Fix ${diagnostics.lintErrors} lint + ${diagnostics.typeErrors} type errors`
    },
    {
      id: 4,
      name: 'Complete Features',
      workflow: 'feature-fix-strategy',
      condition: diagnostics.todoCount > 50,
      description: `Complete ${diagnostics.todoCount} incomplete items`
    },
    {
      id: 5,
      name: 'Process TODOs',
      workflow: 'todo-execution',
      condition: diagnostics.todoCount > 0,
      description: `Systematic resolution of ${diagnostics.todoCount} TODOs`
    }
  ],
  quality: [
    {
      id: 6,
      name: 'Final Check',
      workflow: 'final-check',
      condition: true,
      description: 'Pre-deployment quality gate'
    },
    {
      id: 7,
      name: 'System Audit',
      workflow: 'system-audit',
      condition: true,
      description: 'Full codebase architecture review'
    },
    {
      id: 8,
      name: 'Documentation Review',
      workflow: 'documentation-audit',
      condition: true,
      description: 'Check docs are up-to-date'
    },
    {
      id: 9,
      name: 'Security Review',
      workflow: 'security-audit',
      condition: true,
      description: 'Pre-deployment security check'
    }
  ],
  planning: [
    {
      id: 10,
      name: 'Sprint Planning',
      workflow: 'sprint-planning',
      condition: true,
      description: 'Analyze features, velocity, blockers'
    },
    {
      id: 11,
      name: 'Tech Debt Report',
      workflow: 'tech-debt-analysis',
      condition: true,
      description: 'Quarterly complexity and duplication analysis'
    }
  ]
};
```

### Step 5: Make Recommendations

**Data-driven suggestions:**
```typescript
const recommendations = [];

if (diagnostics.lintErrors > 100) {
  recommendations.push({
    task: 'fix-all',
    priority: 'critical',
    reason: `${diagnostics.lintErrors} lint errors - Must fix before continuing`
  });
} else if (diagnostics.lintErrors > 50) {
  recommendations.push({
    task: 'fix-all',
    priority: 'high',
    reason: `${diagnostics.lintErrors} lint errors - Should fix soon`
  });
} else if (diagnostics.typeErrors > 50) {
  recommendations.push({
    task: 'fix-all',
    priority: 'medium',
    reason: `${diagnostics.typeErrors} type errors need attention`
  });
} else if (diagnostics.todoCount > 100) {
  recommendations.push({
    task: 'todo-execution',
    priority: 'medium',
    reason: `${diagnostics.todoCount} TODOs need resolution`
  });
} else if (diagnostics.buildStatus === 'fail') {
  recommendations.push({
    task: 'fix-all',
    priority: 'critical',
    reason: 'Build is broken - Must fix immediately'
  });
} else {
  recommendations.push({
    task: 'implement-feature',
    priority: 'normal',
    reason: 'Low error count - Ready for new development'
  });
}

return {
  diagnostics,
  context,
  menu,
  recommendations
};
```

---

## Usage

### From CLI:
```bash
# Run begin-session workflow
tsk run begin-session

# With specific project root
tsk run begin-session --input '{"projectRoot": "./my-project"}'

# Dry run (see what it would check)
tsk run begin-session --dry-run
```

### From Code:
```typescript
import { adapterRegistry, TypeScriptAdapter } from '@trinity-os/skillkit';

// Register adapter
const adapter = new TypeScriptAdapter(process.cwd());
adapterRegistry.register(adapter);

// Run workflow
const result = await runner.run('begin-session', {
  projectRoot: process.cwd(),
  trackingDocs: ['docs/AITracking/**', 'docs/SprintStatus/**'],
  userPreferences: {
    showGitLog: true,
    showDiagnostics: true,
    autoRecommend: true
  }
});

console.log(result.output.recommendations);
```

---

## Success Criteria

**Performance:**
- ✅ Context loading: < 60 seconds
- ✅ Diagnostics: < 2 minutes
- ✅ Total execution: < 5 minutes

**Output Quality:**
- ✅ Clear diagnostic summary
- ✅ Data-driven recommendations
- ✅ Actionable task menu
- ✅ Contextual priority suggestions

**User Experience:**
- ✅ Understand codebase state immediately
- ✅ Know what needs attention
- ✅ Choose task based on data
- ✅ Start work within 5 minutes

---

## Framework Compatibility

This workflow uses the **framework adapter system** and works with:

- ✅ **TypeScript/JavaScript** (npm, pnpm, yarn)
- ✅ **Python** (pip, poetry, pipenv)
- ✅ **Java** (maven, gradle)
- ✅ **Go** (go modules)
- ✅ **PHP** (composer)
- ✅ **Ruby** (bundler)
- ✅ **C#** (dotnet)

**Adapter auto-detection** ensures the right commands run for your project!

---

## Related Workflows

- `implement-feature` - Start new feature development
- `continue` - Resume previous work
- `fix-all` - Systematic error fixing
- `final-check` - Pre-deployment quality gate
- `system-audit` - Full codebase review

---

**Status:** ✅ Production Ready  
**Type:** Workflow (Orchestrator)  
**Execution Mode:** Hybrid (Native diagnostics + Instructional menu)  
**Last Updated:** November 5, 2025

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.