โ† Back to Skills Marketplace
kadijin

Train your mind with algorithms

by KadiJIN ยท GitHub โ†— ยท v1.0.0 ยท MIT-0
cross-platform โš  suspicious
73
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install algorithm-practice
Description
๐ŸŽฏ Interactive algorithm practice with 100+ problems across Easy/Medium/Hard difficulties. Generates ready-to-run code templates in Java & Python with built-...
README (SKILL.md)

๐ŸŽฏ Algo Practice - Interactive Algorithm Training

Transform your coding interview preparation with curated algorithm problems, auto-generated code templates, and instant test feedback.

โœจ Features

  • ๐Ÿ“š 100+ Algorithm Problems - Carefully selected from classic interview questions
  • ๐ŸŽš๏ธ Three Difficulty Levels - Easy, Medium, Hard with progressive learning path
  • ๐Ÿ’ป Dual Language Support - Java & Python templates with identical test cases
  • โœ… Built-in Testing - 5-8 test cases per problem including edge cases
  • ๐Ÿ“Š Progress Tracking - Auto-maintained history to avoid duplicates
  • ๐ŸŽ“ Learning Oriented - Hints provided without giving away solutions
  • ๐Ÿš€ Ready to Run - Complete code templates with main entry points

๐Ÿš€ Quick Start

Basic Usage

User: ๅ‡บ็ฎ—ๆณ•้ข˜ / ๅˆท้ข˜ / ็ปƒ็ฎ—ๆณ• / algo practice / ๆฅไธ€้“้ข˜

The skill will:

  1. Ask for your preferred difficulty level
  2. Generate a unique problem you haven't seen
  3. Create ready-to-code templates in both Java and Python
  4. Track your progress automatically

Example Interaction

User: ๅˆท้ข˜
AI: [Asks for difficulty preference]
User: Medium
AI: [Generates problem with templates]

๐Ÿ“‹ Workflow

Step 1: Check Problem History

Read algo_history.md from the workspace root to track previously assigned problems and ensure no duplicates.

# Algorithm Practice History

| # | Problem Name | Difficulty | Category | Date |
|---|-------------|------------|----------|------|
| 1 | TwoSum | Easy | Array, Hash Table | 2026-03-27 |

Step 2: Ask Difficulty Preference

Use the AskUserQuestion tool:

Question: "Which difficulty level would you like?"

Options:

  • ๐ŸŸข Easy - Basic data structures & simple logic, perfect for warm-up
  • ๐ŸŸก Medium - Requires algorithmic thinking, covers common patterns
  • ๐Ÿ”ด Hard - Advanced algorithms, optimization, complex data structures

Step 3: Generate Problem

Create an original algorithm problem with:

Problem Structure

  • Title: PascalCase format (e.g., LongestSubstring, MergeIntervals)
  • Difficulty Badge: ๐ŸŸข Easy / ๐ŸŸก Medium / ๐Ÿ”ด Hard
  • Description: Clear Chinese explanation of input/output requirements
  • Examples: Minimum 2 examples with input/output pairs
  • Constraints: Data ranges, time/space complexity requirements
  • Hints: Direction hints without revealing the solution

Problem Categories (Rotate through these)

Arrays, Strings, Linked Lists, Trees, Graphs, Dynamic Programming, Greedy, Backtracking, Sorting, Searching, Stack/Queue, Hash Tables, Two Pointers, Sliding Window, Bit Manipulation, BFS/DFS, Divide & Conquer

Step 4: Create Code Templates

Java Template: java/\x3CProblemName>.java

import java.util.*;

public class \x3CProblemName> {

    /**
     * TODO: Implement your algorithm here
     *
     * \x3CBrief description of function>
     *
     * @param \x3Cparameter description>
     * @return \x3Creturn value description>
     */
    public \x3CReturnType> \x3CmethodName>(\x3CParameters>) {
        // Write your code here
        return \x3Cdefault value>;
    }

    public static void main(String[] args) {
        \x3CProblemName> solution = new \x3CProblemName>();
        int passed = 0;
        int total = 0;

        // Test Case 1: Normal case
        total++;
        \x3CType> result1 = solution.\x3CmethodName>(\x3Cinput1>);
        if (\x3Ccheck if result1 equals expected1>) {
            System.out.println("Test Case " + total + ": โœ… Pass");
            passed++;
        } else {
            System.out.println("Test Case " + total + ": โŒ Fail");
            System.out.println("  Input: \x3Cinput description>");
            System.out.println("  Expected: \x3Cexpected output>");
            System.out.println("  Actual: " + result1);
        }

        // Test Case 2-N: Include edge cases (minimum 5 total)
        // Must cover: normal cases, boundary cases, special cases

        System.out.println("\
Results: " + passed + "/" + total + " Passed");
        if (passed == total) {
            System.out.println("๐ŸŽ‰ All tests passed!");
        } else {
            System.out.println("๐Ÿ’ช Keep trying! Review the failed cases above.");
        }
    }
}

Python Template: python/\x3Cproblem_name>.py

from typing import List, Optional


class Solution:
    def \x3Cmethod_name>(self, \x3Cparameters>) -> \x3Creturn_type>:
        """
        TODO: Implement your algorithm here

        \x3CBrief description of function>

        Args:
            \x3Cparameter description>

        Returns:
            \x3Creturn value description>
        """
        # Write your code here
        pass


def main():
    solution = Solution()
    passed = 0
    total = 0

    # Test Case 1: Normal case
    total += 1
    result1 = solution.\x3Cmethod_name>(\x3Cinput1>)
    if result1 == \x3Cexpected1>:
        print(f"Test Case {total}: โœ… Pass")
        passed += 1
    else:
        print(f"Test Case {total}: โŒ Fail")
        print(f"  Input: \x3Cinput description>")
        print(f"  Expected: \x3Cexpected output>")
        print(f"  Actual: {result1}")

    # Test Case 2-N: Include edge cases (minimum 5 total)
    # Must cover: normal cases, boundary cases, special cases

    print(f"\
Results: {passed}/{total} Passed")
    if passed == total:
        print("๐ŸŽ‰ All tests passed!")
    else:
        print("๐Ÿ’ช Keep trying! Review the failed cases above.")


if __name__ == "__main__":
    main()

Test Case Requirements

  • Minimum 5 test cases per problem
  • Must include:
    • Normal/typical cases
    • Edge cases (empty input, single element, maximum values)
    • Special cases (negative numbers, duplicates, etc.)
  • Consistency: Java and Python test cases must match
  • Proper comparison: Use Arrays.equals() for Java arrays, == for Python lists

Step 5: Update Progress Tracking

Append the problem to algo_history.md in workspace root:

# Algorithm Practice History

| # | Problem Name | Difficulty | Category | Date |
|---|-------------|------------|----------|------|
| 1 | TwoSum | Easy | Array, Hash Table | 2026-03-27 |
| 2 | MergeIntervals | Medium | Array, Sorting | 2026-03-27 |

Auto-increment the sequence number and use current date.

Step 6: Present Problem to User

Display the complete problem with:

  1. ๐Ÿ“ Problem Title & Difficulty Badge
  2. ๐Ÿ“– Problem Description (clear Chinese explanation)
  3. ๐Ÿ’ก Examples (input/output pairs)
  4. โš™๏ธ Constraints (data ranges, complexity requirements)
  5. ๐ŸŽฏ Hints (direction without solution)
  6. ๐Ÿ“ File Locations:
    • Java: java/\x3CProblemName>.java
    • Python: python/\x3Cproblem_name>.py
  7. ๐Ÿš€ Next Steps: "Implement your solution and run the file to test!"

๐Ÿ’ก Pro Tips for Users

How to Use Effectively

  1. Start Easy - Build confidence with fundamentals
  2. Think First - Try to solve before looking at hints
  3. Test Thoroughly - Run both Java and Python versions
  4. Track Progress - Check algo_history.md for your journey
  5. Practice Regularly - Consistency beats intensity

Running Your Solutions

# Java
cd java
javac \x3CProblemName>.java && java \x3CProblemName>

# Python
python python/\x3Cproblem_name>.py

Common Workflow

  1. Read problem carefully
  2. Think about approach (don't code immediately!)
  3. Write solution in the TODO section
  4. Run tests to verify
  5. Debug failed cases
  6. Optimize if needed
  7. Move to next problem

๐ŸŽฏ Problem Quality Standards

  • โœ… Interview-Relevant: Based on real coding interview questions
  • โœ… Well-Tested: 5-8 comprehensive test cases
  • โœ… Progressive Difficulty: Clear learning path
  • โœ… No Duplicates: Tracked via history file
  • โœ… Bilingual: Java + Python with consistent logic
  • โœ… Production-Ready: Ready to compile and run

๐Ÿ› ๏ธ Technical Requirements

  • Method signatures must be clear and type-safe
  • Java filename MUST match public class name
  • Python filename uses snake_case convention
  • Problem titles use PascalCase (e.g., ValidParentheses)
  • NEVER include solutions or implementation hints in code files
  • Test case expected outputs MUST be correct
  • Create java/ and python/ directories if they don't exist

๐ŸŒŸ Target Audience

  • ๐Ÿ‘จโ€๐Ÿ’ป Job seekers preparing for coding interviews
  • ๐ŸŽ“ Computer science students learning algorithms
  • ๐Ÿ”„ Developers wanting to practice problem-solving
  • ๐ŸŒฑ Beginners starting their algorithm journey
  • ๐Ÿ† Advanced programmers tackling hard problems

๐Ÿ“Š Success Metrics

After using this skill, users should:

  • Have working code templates ready to implement
  • Understand the problem clearly with examples
  • Know the constraints and edge cases
  • Feel motivated to solve and test their solution
  • Track their progress over time

๐Ÿ’ก Tip: This skill is perfect for daily algorithm practice. Try solving 1-2 problems per day to build strong problem-solving skills!

Usage Guidance
This skill appears to do what it says (generate problems, templates, and keep a history), but the SKILL.md includes hidden Unicode control characters which can hide or alter instructions. Before installing or running: (1) Inspect the raw SKILL.md for hidden characters or unexpected text and ask the author to remove them if present. (2) Run the skill in an isolated/sandbox workspace and review any files it creates (algo_history.md, java/... , python/...) before executing generated code. (3) If you plan to let the agent invoke the skill autonomously, be comfortable with it reading/writing files in the workspace. If the author cannot explain the control characters or you cannot safely sandbox execution, don't install or invoke the skill.
Capability Analysis
Type: OpenClaw Skill Name: algorithm-practice Version: 1.0.0 The skill is a legitimate educational tool designed to help users practice algorithm problems. It generates Java and Python code templates with test cases and maintains a local history file (algo_history.md) to track progress. There are no indicators of data exfiltration, malicious execution, or unauthorized system access in SKILL.md or the associated metadata.
Capability Assessment
โœ“ Purpose & Capability
Name and description align with the runtime instructions: generating problems, creating Java/Python templates, and maintaining a history file. No unrelated binaries, services, or credentials are requested.
โ„น Instruction Scope
Instructions explicitly tell the agent to read and update a workspace file (algo_history.md) and to create code files under java/... and python/.... This is coherent for progress tracking and template generation, but it means the skill will read and write files in the user's workspace โ€” review what it will create/modify. The SKILL.md itself is the instruction source and contains a detected unicode-control-chars pattern (see scan findings).
โœ“ Install Mechanism
No install spec and no code files โ€” instruction-only skill. That minimizes surface area (nothing is downloaded or executed automatically), so install risk is low.
โœ“ Credentials
No environment variables, credentials, or config paths are required. Requested accesses (workspace file read/write) are proportional to the stated features (history tracking, file generation).
โœ“ Persistence & Privilege
always is false and model invocation is allowed (default). The skill does not request elevated or persistent platform privileges beyond normal invocation. Be aware it will modify workspace files when used.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install algorithm-practice
  3. After installation, invoke the skill by name or use /algorithm-practice
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
algo-practice 1.0.0 โ€“ Initial Release - Launch of interactive algorithm practice skill with 100+ curated problems across Easy, Medium, and Hard levels. - Provides auto-generated, ready-to-run code templates in both Java and Python with consistent built-in test cases. - Covers a wide range of algorithm topics including arrays, strings, data structures, dynamic programming, graphs, and more. - Tracks solved problems in a history file to prevent duplicates and measure progress. - Includes hints and clear Chinese problem descriptions, making it ideal for interview preparation and skill improvement.
Metadata
Slug algorithm-practice
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Train your mind with algorithms?

๐ŸŽฏ Interactive algorithm practice with 100+ problems across Easy/Medium/Hard difficulties. Generates ready-to-run code templates in Java & Python with built-... It is an AI Agent Skill for Claude Code / OpenClaw, with 73 downloads so far.

How do I install Train your mind with algorithms?

Run "/install algorithm-practice" in the OpenClaw or Claude Code chat to install it in one step โ€” no extra setup required.

Is Train your mind with algorithms free?

Yes, Train your mind with algorithms is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Train your mind with algorithms support?

Train your mind with algorithms is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Train your mind with algorithms?

It is built and maintained by KadiJIN (@kadijin); the current version is v1.0.0.

๐Ÿ’ฌ Comments